package com.msite.mapper;

import com.msite.config.dbrepos.MyBatisRepository;
import com.msite.model.SysPerm;

import java.util.List;

@MyBatisRepository
public interface SysPermMapper {

    int deleteByPrimaryKey(Long id);

    int insert(SysPerm record);

    int insertSelective(SysPerm record);

    SysPerm selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysPerm record);

    int updateByPrimaryKey(SysPerm record);

    /**
     * 根据多个角色ID，查询角色对应的权限数据 {distinct}
     * @param roleIds
     * @return
     */
    List<SysPerm> getByRoleIds(List<Long> roleIds);

    /**
     * 根据用户ID，查询角色对应的权限数据 {distinct}
     * @param userId
     * @return
     */
    List<SysPerm> getByUserId(Long userId);

    /**
     * 根据SysPerm的字段 purl，查询对应的权限数据 limit 0,1
     * @param purl
     * @return
     */
    SysPerm getByPUrl(String purl);
}